home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1996 June: Reference Library / Dev.CD Jun 96 RL / Dev.CD Jun 96 RL.toast / Technical Documentation / develop / develop Issue 10 / develop Issue 10 code / Is it Art?.sea / Is it Art? / ArtMaker / PaintInit.c < prev    next >
MacBinary  |  1992-04-08  |  8.8 KB  |  [TEXT/KAHL]

open in: MacOS 8.1     |     Win98     |     DOS

browse contents    |     view JSON data     |     view as text


This file was processed as: MacBinary (archive/macBinary).

ConfidenceProgramDetectionMatch TypeSupport
66% dexvert Compact Compressed (Unix) (archive/compact) ext Supported
1% dexvert MacBinary (archive/macBinary) fallback Supported
1% dexvert Text File (text/txt) fallback Supported
100% file MacBinary II, inited, Wed Apr 8 18:00:32 1992, modified Wed Apr 8 18:00:32 1992, creator Think C, type ASCII, 8206 bytes "PaintInit.c" magic text fragment for file(1) cmd, 1st line "#include⇥"Painterly.h"", 2nd line "", 3rd line "/* Painterly Globals */", 4th line "extern MenuHandle⇥⇥gPaintMenuHandles[]; ⇥⇥/* The menus we add */", 5th line "extern DocumentRecord⇥gSrcDoc, gDstDoc;⇥⇥⇥/* The doc records */", at 0x208e 422 bytes resource magic text fragment for file(1) cmd, 1st line "#include⇥"Painterly.h"", 2nd line "", 3rd line "/* Painterly Globals */", 4th line "extern MenuHandle⇥⇥gPaintMenuHandles[]; ⇥⇥/* The menus we add */", 5th line "extern DocumentRecord⇥gSrcDoc, gDstDoc;⇥⇥⇥/* The doc records */" default (weak)
99% file data default
74% TrID Macintosh plain text (MacBinary) default
25% TrID MacBinary 2 default (weak)
100% dearkID deark: macbinary default
100% lsar MacBinary default


id metadata
keyvalue
macFileType[TEXT]
macFileCreator[KAHL]



hex view
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 00 0b 50 61 69 6e 74 49 | 6e 69 74 2e 63 00 00 00 |..PaintI|nit.c...|
|00000010| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000020| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000030| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000040| 00 54 45 58 54 4b 41 48 | 4c 01 00 00 00 00 00 00 |.TEXTKAH|L.......|
|00000050| 00 00 00 00 00 20 0e 00 | 00 01 a6 a6 09 1d 80 a6 |..... ..|........|
|00000060| 09 1d 80 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000070| 00 00 00 00 00 00 00 00 | 00 00 81 81 8b d7 00 00 |........|........|
|00000080| 23 69 6e 63 6c 75 64 65 | 09 22 50 61 69 6e 74 65 |#include|."Painte|
|00000090| 72 6c 79 2e 68 22 0d 0d | 2f 2a 20 50 61 69 6e 74 |rly.h"..|/* Paint|
|000000a0| 65 72 6c 79 20 47 6c 6f | 62 61 6c 73 20 2a 2f 0d |erly Glo|bals */.|
|000000b0| 65 78 74 65 72 6e 20 4d | 65 6e 75 48 61 6e 64 6c |extern M|enuHandl|
|000000c0| 65 09 09 67 50 61 69 6e | 74 4d 65 6e 75 48 61 6e |e..gPain|tMenuHan|
|000000d0| 64 6c 65 73 5b 5d 3b 20 | 09 09 2f 2a 20 54 68 65 |dles[]; |../* The|
|000000e0| 20 6d 65 6e 75 73 20 77 | 65 20 61 64 64 20 2a 2f | menus w|e add */|
|000000f0| 0d 65 78 74 65 72 6e 20 | 44 6f 63 75 6d 65 6e 74 |.extern |Document|
|00000100| 52 65 63 6f 72 64 09 67 | 53 72 63 44 6f 63 2c 20 |Record.g|SrcDoc, |
|00000110| 67 44 73 74 44 6f 63 3b | 09 09 09 2f 2a 20 54 68 |gDstDoc;|.../* Th|
|00000120| 65 20 64 6f 63 20 72 65 | 63 6f 72 64 73 20 2a 2f |e doc re|cords */|
|00000130| 0d 65 78 74 65 72 6e 20 | 43 57 69 6e 64 6f 77 50 |.extern |CWindowP|
|00000140| 74 72 09 09 67 53 72 63 | 57 69 6e 64 50 74 72 2c |tr..gSrc|WindPtr,|
|00000150| 20 67 44 73 74 57 69 6e | 64 50 74 72 3b 09 2f 2a | gDstWin|dPtr;./*|
|00000160| 20 70 6f 69 6e 74 65 72 | 73 20 74 6f 20 74 68 65 | pointer|s to the|
|00000170| 20 77 69 6e 64 6f 77 73 | 2c 20 66 6f 72 20 63 6f | windows|, for co|
|00000180| 6e 76 65 6e 69 65 6e 63 | 65 20 2a 2f 0d 65 78 74 |nvenienc|e */.ext|
|00000190| 65 72 6e 20 47 57 6f 72 | 6c 64 50 74 72 09 09 67 |ern GWor|ldPtr..g|
|000001a0| 55 6e 64 6f 42 75 66 66 | 65 72 3b 09 09 09 09 2f |UndoBuff|er;..../|
|000001b0| 2a 20 61 20 62 75 66 66 | 65 72 20 74 6f 20 61 6c |* a buff|er to al|
|000001c0| 6c 6f 77 20 75 6e 64 6f | 20 2a 2f 0d 65 78 74 65 |low undo| */.exte|
|000001d0| 72 6e 20 42 72 75 73 68 | 50 61 72 61 6d 73 09 09 |rn Brush|Params..|
|000001e0| 67 42 72 75 73 68 53 74 | 75 66 66 3b 09 09 09 09 |gBrushSt|uff;....|
|000001f0| 2f 2a 20 74 68 65 20 70 | 61 72 61 6d 65 74 65 72 |/* the p|arameter|
|00000200| 20 73 74 72 75 63 74 75 | 72 65 20 66 6f 72 20 62 | structu|re for b|
|00000210| 72 75 73 68 20 63 61 6c | 6c 73 20 2a 2f 0d 65 78 |rush cal|ls */.ex|
|00000220| 74 65 72 6e 20 54 48 50 | 72 69 6e 74 09 09 09 67 |tern THP|rint...g|
|00000230| 50 72 69 6e 74 52 65 63 | 48 61 6e 64 6c 65 3b 09 |PrintRec|Handle;.|
|00000240| 09 09 2f 2a 20 54 68 65 | 20 70 72 69 6e 74 20 72 |../* The| print r|
|00000250| 65 63 6f 72 64 20 2a 2f | 0d 65 78 74 65 72 6e 20 |ecord */|.extern |
|00000260| 73 68 6f 72 74 09 09 09 | 67 44 6f 63 54 69 74 6c |short...|gDocTitl|
|00000270| 65 48 65 69 67 68 74 2c | 20 67 44 6f 63 46 72 61 |eHeight,| gDocFra|
|00000280| 6d 65 57 69 64 74 68 3b | 20 2f 2a 20 57 69 6e 64 |meWidth;| /* Wind|
|00000290| 6f 77 20 53 74 61 74 73 | 20 2a 2f 0d 2f 2a 20 50 |ow Stats| */./* P|
|000002a0| 72 6f 74 6f 74 79 70 65 | 73 20 66 6f 72 20 6c 6f |rototype|s for lo|
|000002b0| 63 61 6c 20 28 74 6f 20 | 74 68 69 73 20 66 69 6c |cal (to |this fil|
|000002c0| 65 29 20 72 6f 75 74 69 | 6e 65 73 20 2a 2f 0d 42 |e) routi|nes */.B|
|000002d0| 6f 6f 6c 65 61 6e 20 41 | 64 64 53 74 64 53 63 72 |oolean A|ddStdScr|
|000002e0| 6f 6c 6c 42 61 72 73 28 | 57 69 6e 64 6f 77 50 74 |ollBars(|WindowPt|
|000002f0| 72 20 77 69 6e 64 29 3b | 0d 42 6f 6f 6c 65 61 6e |r wind);|.Boolean|
|00000300| 20 43 68 65 63 6b 4d 61 | 63 68 69 6e 65 28 76 6f | CheckMa|chine(vo|
|00000310| 69 64 29 3b 0d 0d 2f 2a | 20 43 61 6c 6c 65 64 20 |id);../*| Called |
|00000320| 62 79 20 74 68 65 20 53 | 68 65 6c 6c 20 61 74 20 |by the S|hell at |
|00000330| 73 74 61 72 74 75 70 20 | 74 69 6d 65 20 2a 2f 0d |startup |time */.|
|00000340| 42 6f 6f 6c 65 61 6e 20 | 50 61 69 6e 74 49 6e 69 |Boolean |PaintIni|
|00000350| 74 28 76 6f 69 64 29 0d | 7b 0d 09 4d 65 6e 75 48 |t(void).|{..MenuH|
|00000360| 61 6e 64 6c 65 09 6d 68 | 6e 64 6c 3b 0d 09 53 74 |andle.mh|ndl;..St|
|00000370| 72 32 35 35 09 09 62 72 | 75 73 68 6e 61 6d 65 2c |r255..br|ushname,|
|00000380| 20 77 54 69 74 6c 65 3b | 0d 09 52 65 63 74 09 09 | wTitle;|..Rect..|
|00000390| 74 65 6d 70 72 65 63 74 | 3b 0d 09 73 68 6f 72 74 |temprect|;..short|
|000003a0| 09 09 72 73 6c 74 3b 0d | 09 0d 09 2f 2a 20 43 68 |..rslt;.|.../* Ch|
|000003b0| 65 63 6b 20 66 6f 72 20 | 74 68 65 20 6d 61 63 68 |eck for |the mach|
|000003c0| 69 6e 65 20 63 68 61 72 | 61 63 74 65 72 69 73 74 |ine char|acterist|
|000003d0| 69 63 73 20 77 65 20 6e | 65 65 64 20 74 6f 20 72 |ics we n|eed to r|
|000003e0| 75 6e 20 2a 2f 0d 09 69 | 66 28 43 68 65 63 6b 4d |un */..i|f(CheckM|
|000003f0| 61 63 68 69 6e 65 28 29 | 20 3d 3d 20 66 61 6c 73 |achine()| == fals|
|00000400| 65 29 0d 09 7b 0d 09 09 | 44 6f 45 72 72 6f 72 41 |e)..{...|DoErrorA|
|00000410| 6c 65 72 74 28 6b 57 69 | 6d 70 79 4d 61 63 68 69 |lert(kWi|mpyMachi|
|00000420| 6e 65 53 74 72 2c 20 30 | 29 3b 0d 09 09 72 65 74 |neStr, 0|);...ret|
|00000430| 75 72 6e 20 66 61 6c 73 | 65 3b 0d 09 7d 0d 09 0d |urn fals|e;..}...|
|00000440| 09 2f 2a 20 47 65 74 20 | 74 68 65 20 77 69 6e 64 |./* Get |the wind|
|00000450| 6f 77 20 6d 65 61 73 75 | 72 65 6d 65 6e 74 73 20 |ow measu|rements |
|00000460| 77 65 27 6c 6c 20 6e 65 | 65 64 20 6c 61 74 65 72 |we'll ne|ed later|
|00000470| 20 2a 2f 0d 09 43 61 6c | 63 57 69 6e 64 6f 77 53 | */..Cal|cWindowS|
|00000480| 74 61 74 73 28 29 3b 0d | 09 09 0d 20 20 20 09 2f |tats();.|... ./|
|00000490| 2a 20 43 72 65 61 74 65 | 20 74 68 65 20 64 6f 63 |* Create| the doc|
|000004a0| 75 6d 65 6e 74 20 77 69 | 6e 64 6f 77 73 2e 20 54 |ument wi|ndows. T|
|000004b0| 68 65 79 20 72 65 6d 61 | 69 6e 20 69 6e 76 69 73 |hey rema|in invis|
|000004c0| 69 62 6c 65 20 75 6e 74 | 69 6c 20 61 20 64 6f 63 |ible unt|il a doc|
|000004d0| 75 6d 65 6e 74 20 69 73 | 20 6f 70 65 6e 65 64 20 |ument is| opened |
|000004e0| 2a 2f 0d 09 53 65 74 52 | 65 63 74 28 26 74 65 6d |*/..SetR|ect(&tem|
|000004f0| 70 72 65 63 74 2c 20 31 | 30 2c 20 31 30 20 2b 20 |prect, 1|0, 10 + |
|00000500| 32 30 20 2b 20 47 65 74 | 4d 42 61 72 48 65 69 67 |20 + Get|MBarHeig|
|00000510| 68 74 28 29 2c 20 32 31 | 30 2c 20 32 31 30 20 2b |ht(), 21|0, 210 +|
|00000520| 20 32 30 20 2b 20 47 65 | 74 4d 42 61 72 48 65 69 | 20 + Ge|tMBarHei|
|00000530| 67 68 74 28 29 29 3b 0d | 20 20 20 20 67 53 72 63 |ght());.| gSrc|
|00000540| 57 69 6e 64 50 74 72 20 | 3d 20 4e 65 77 43 57 69 |WindPtr |= NewCWi|
|00000550| 6e 64 6f 77 28 09 28 50 | 74 72 29 26 67 53 72 63 |ndow(.(P|tr)&gSrc|
|00000560| 44 6f 63 2c 20 0d 20 20 | 20 20 09 09 09 09 09 09 |Doc, . | ......|
|00000570| 09 26 74 65 6d 70 72 65 | 63 74 2c 20 0d 20 20 20 |.&tempre|ct, . |
|00000580| 20 09 09 09 09 09 09 09 | 54 68 65 53 74 72 28 77 | .......|TheStr(w|
|00000590| 54 69 74 6c 65 2c 20 6b | 53 72 63 50 69 63 74 53 |Title, k|SrcPictS|
|000005a0| 74 72 29 2c 0d 20 20 20 | 20 09 09 09 09 09 09 09 |tr),. | .......|
|000005b0| 66 61 6c 73 65 2c 20 0d | 20 20 20 20 09 09 09 09 |false, .| ....|
|000005c0| 09 09 09 7a 6f 6f 6d 44 | 6f 63 50 72 6f 63 2c 0d |...zoomD|ocProc,.|
|000005d0| 20 20 20 20 09 09 20 20 | 09 09 09 09 09 28 57 69 | .. |.....(Wi|
|000005e0| 6e 64 6f 77 50 74 72 29 | 28 2d 31 29 2c 20 0d 20 |ndowPtr)|(-1), . |
|000005f0| 20 20 20 09 09 20 20 09 | 09 09 09 09 74 72 75 65 | .. .|....true|
|00000600| 2c 20 09 2f 2a 20 4f 6e | 6c 79 20 74 68 65 20 73 |, ./* On|ly the s|
|00000610| 6f 75 72 63 65 20 77 69 | 6e 64 6f 77 20 68 61 73 |ource wi|ndow has|
|00000620| 20 61 20 63 6c 6f 73 65 | 20 62 6f 78 20 2a 2f 0d | a close| box */.|
|00000630| 20 20 20 20 09 09 20 20 | 09 09 09 09 09 30 4c 09 | .. |.....0L.|
|00000640| 29 3b 0d 20 20 20 20 53 | 65 74 50 6f 72 74 28 67 |);. S|etPort(g|
|00000650| 53 72 63 57 69 6e 64 50 | 74 72 29 3b 0d 20 20 20 |SrcWindP|tr);. |
|00000660| 20 43 6c 69 70 52 65 63 | 74 28 26 67 53 72 63 57 | ClipRec|t(&gSrcW|
|00000670| 69 6e 64 50 74 72 2d 3e | 70 6f 72 74 52 65 63 74 |indPtr->|portRect|
|00000680| 29 3b 0d 20 20 20 20 45 | 72 61 73 65 52 65 63 74 |);. E|raseRect|
|00000690| 28 26 67 53 72 63 57 69 | 6e 64 50 74 72 2d 3e 70 |(&gSrcWi|ndPtr->p|
|000006a0| 6f 72 74 52 65 63 74 29 | 3b 0d 20 20 20 20 0d 09 |ortRect)|;. ..|
|000006b0| 4f 66 66 73 65 74 52 65 | 63 74 28 26 74 65 6d 70 |OffsetRe|ct(&temp|
|000006c0| 72 65 63 74 2c 20 33 32 | 2c 20 33 32 29 3b 0d 20 |rect, 32|, 32);. |
|000006d0| 20 20 20 67 44 73 74 57 | 69 6e 64 50 74 72 20 3d | gDstW|indPtr =|
|000006e0| 20 4e 65 77 43 57 69 6e | 64 6f 77 28 09 28 50 74 | NewCWin|dow(.(Pt|
|000006f0| 72 29 26 67 44 73 74 44 | 6f 63 2c 20 0d 20 20 20 |r)&gDstD|oc, . |
|00000700| 20 09 09 09 09 09 09 09 | 26 74 65 6d 70 72 65 63 | .......|&temprec|
|00000710| 74 2c 20 0d 20 20 20 20 | 09 09 09 09 09 09 09 54 |t, . |.......T|
|00000720| 68 65 53 74 72 28 77 54 | 69 74 6c 65 2c 20 6b 41 |heStr(wT|itle, kA|
|00000730| 72 74 53 74 72 29 2c 0d | 20 20 20 20 09 09 09 09 |rtStr),.| ....|
|00000740| 09 09 09 66 61 6c 73 65 | 2c 20 0d 20 20 20 20 09 |...false|, . .|
|00000750| 09 09 09 09 09 09 7a 6f | 6f 6d 44 6f 63 50 72 6f |......zo|omDocPro|
|00000760| 63 2c 0d 20 20 20 20 09 | 09 20 20 09 09 09 09 09 |c,. .|. .....|
|00000770| 28 57 69 6e 64 6f 77 50 | 74 72 29 28 2d 31 29 2c |(WindowP|tr)(-1),|
|00000780| 20 0d 20 20 20 20 09 09 | 20 20 09 09 09 09 09 66 | . ..| .....f|
|00000790| 61 6c 73 65 2c 20 0d 20 | 20 20 20 09 09 20 20 09 |alse, . | .. .|
|000007a0| 09 09 09 09 30 4c 09 29 | 3b 0d 20 20 20 20 53 65 |....0L.)|;. Se|
|000007b0| 74 50 6f 72 74 28 67 44 | 73 74 57 69 6e 64 50 74 |tPort(gD|stWindPt|
|000007c0| 72 29 3b 0d 20 20 20 20 | 43 6c 69 70 52 65 63 74 |r);. |ClipRect|
|000007d0| 28 26 67 44 73 74 57 69 | 6e 64 50 74 72 2d 3e 70 |(&gDstWi|ndPtr->p|
|000007e0| 6f 72 74 52 65 63 74 29 | 3b 0d 20 20 20 20 45 72 |ortRect)|;. Er|
|000007f0| 61 73 65 52 65 63 74 28 | 26 67 44 73 74 57 69 6e |aseRect(|&gDstWin|
|00000800| 64 50 74 72 2d 3e 70 6f | 72 74 52 65 63 74 29 3b |dPtr->po|rtRect);|
|00000810| 0d 20 20 20 20 0d 09 2f | 2a 20 57 65 20 64 6f 6e |. ../|* We don|
|00000820| 27 74 20 63 72 65 61 74 | 65 20 74 68 65 20 47 57 |'t creat|e the GW|
|00000830| 6f 72 6c 64 73 20 79 65 | 74 3a 20 74 68 61 74 27 |orlds ye|t: that'|
|00000840| 6c 6c 20 68 61 70 70 65 | 6e 20 77 68 65 6e 20 74 |ll happe|n when t|
|00000850| 68 65 20 75 73 65 72 20 | 6f 70 65 6e 73 20 61 20 |he user |opens a |
|00000860| 66 69 6c 65 20 2a 2f 0d | 0d 20 20 20 20 2f 2a 20 |file */.|. /* |
|00000870| 53 65 74 20 75 70 20 74 | 68 65 20 6f 74 68 65 72 |Set up t|he other|
|00000880| 20 44 6f 63 20 69 6e 66 | 6f 20 2a 2f 0d 20 20 20 | Doc inf|o */. |
|00000890| 20 67 53 72 63 44 6f 63 | 2e 64 69 72 74 79 20 3d | gSrcDoc|.dirty =|
|000008a0| 20 66 61 6c 73 65 3b 0d | 20 20 20 20 67 44 73 74 | false;.| gDst|
|000008b0| 44 6f 63 2e 64 69 72 74 | 79 20 3d 20 66 61 6c 73 |Doc.dirt|y = fals|
|000008c0| 65 3b 0d 09 2a 67 53 72 | 63 44 6f 63 2e 66 69 6c |e;..*gSr|cDoc.fil|
|000008d0| 65 53 70 65 63 2e 6e 61 | 6d 65 20 3d 20 30 3b 20 |eSpec.na|me = 0; |
|000008e0| 2f 2a 20 6d 61 6b 65 20 | 74 68 65 20 66 69 6c 65 |/* make |the file|
|000008f0| 20 6e 61 6d 65 20 61 6e | 20 65 6d 70 74 79 20 73 | name an| empty s|
|00000900| 74 72 69 6e 67 20 2a 2f | 0d 09 2a 67 44 73 74 44 |tring */|..*gDstD|
|00000910| 6f 63 2e 66 69 6c 65 53 | 70 65 63 2e 6e 61 6d 65 |oc.fileS|pec.name|
|00000920| 20 3d 20 30 3b 20 2f 2a | 20 6d 61 6b 65 20 74 68 | = 0; /*| make th|
|00000930| 65 20 66 69 6c 65 20 6e | 61 6d 65 20 61 6e 20 65 |e file n|ame an e|
|00000940| 6d 70 74 79 20 73 74 72 | 69 6e 67 20 2a 2f 0d 20 |mpty str|ing */. |
|00000950| 20 20 20 69 66 28 21 41 | 64 64 53 74 64 53 63 72 | if(!A|ddStdScr|
|00000960| 6f 6c 6c 42 61 72 73 28 | 67 53 72 63 57 69 6e 64 |ollBars(|gSrcWind|
|00000970| 50 74 72 29 20 7c 7c 20 | 21 41 64 64 53 74 64 53 |Ptr) || |!AddStdS|
|00000980| 63 72 6f 6c 6c 42 61 72 | 73 28 67 44 73 74 57 69 |crollBar|s(gDstWi|
|00000990| 6e 64 50 74 72 29 29 0d | 09 7b 0d 09 09 44 6f 45 |ndPtr)).|.{...DoE|
|000009a0| 72 72 6f 72 41 6c 65 72 | 74 28 6b 4e 6f 52 65 73 |rrorAler|t(kNoRes|
|000009b0| 53 74 72 2c 20 30 29 3b | 0d 09 09 72 65 74 75 72 |Str, 0);|...retur|
|000009c0| 6e 20 66 61 6c 73 65 3b | 0d 09 7d 0d 09 0d 09 2f |n false;|..}..../|
|000009d0| 2a 20 53 65 74 20 75 70 | 20 74 68 65 20 67 6c 6f |* Set up| the glo|
|000009e0| 62 61 6c 20 42 72 75 73 | 68 50 61 72 61 6d 73 20 |bal Brus|hParams |
|000009f0| 2a 2f 0d 09 67 42 72 75 | 73 68 53 74 75 66 66 2e |*/..gBru|shStuff.|
|00000a00| 70 74 2e 68 20 3d 20 30 | 3b 0d 09 67 42 72 75 73 |pt.h = 0|;..gBrus|
|00000a10| 68 53 74 75 66 66 2e 70 | 74 2e 76 20 3d 20 30 3b |hStuff.p|t.v = 0;|
|00000a20| 0d 09 67 42 72 75 73 68 | 53 74 75 66 66 2e 72 65 |..gBrush|Stuff.re|
|00000a30| 63 74 20 3d 20 67 53 72 | 63 57 69 6e 64 50 74 72 |ct = gSr|cWindPtr|
|00000a40| 2d 3e 70 6f 72 74 52 65 | 63 74 3b 0d 09 67 42 72 |->portRe|ct;..gBr|
|00000a50| 75 73 68 53 74 75 66 66 | 2e 63 6f 6c 6f 72 2e 72 |ushStuff|.color.r|
|00000a60| 65 64 20 3d 20 30 3b 0d | 09 67 42 72 75 73 68 53 |ed = 0;.|.gBrushS|
|00000a70| 74 75 66 66 2e 63 6f 6c | 6f 72 2e 67 72 65 65 6e |tuff.col|or.green|
|00000a80| 20 3d 20 30 3b 0d 09 67 | 42 72 75 73 68 53 74 75 | = 0;..g|BrushStu|
|00000a90| 66 66 2e 63 6f 6c 6f 72 | 2e 62 6c 75 65 20 3d 20 |ff.color|.blue = |
|00000aa0| 30 3b 0d 09 67 42 72 75 | 73 68 53 74 75 66 66 2e |0;..gBru|shStuff.|
|00000ab0| 74 68 65 53 6f 75 72 63 | 65 20 3d 20 67 53 72 63 |theSourc|e = gSrc|
|00000ac0| 44 6f 63 2e 77 6f 72 6c | 64 3b 0d 09 67 42 72 75 |Doc.worl|d;..gBru|
|00000ad0| 73 68 53 74 75 66 66 2e | 74 68 65 44 65 73 74 69 |shStuff.|theDesti|
|00000ae0| 6e 61 74 69 6f 6e 20 3d | 20 67 44 73 74 44 6f 63 |nation =| gDstDoc|
|00000af0| 2e 77 6f 72 6c 64 3b 0d | 09 67 42 72 75 73 68 53 |.world;.|.gBrushS|
|00000b00| 74 75 66 66 2e 73 74 6f | 72 61 67 65 20 3d 20 28 |tuff.sto|rage = (|
|00000b10| 6c 6f 6e 67 29 6e 69 6c | 3b 0d 09 0d 09 2f 2a 20 |long)nil|;..../* |
|00000b20| 6d 61 6b 65 20 61 20 70 | 72 69 6e 74 20 72 65 63 |make a p|rint rec|
|00000b30| 6f 72 64 20 2a 2f 0d 09 | 67 50 72 69 6e 74 52 65 |ord */..|gPrintRe|
|00000b40| 63 48 61 6e 64 6c 65 20 | 3d 20 28 54 48 50 72 69 |cHandle |= (THPri|
|00000b50| 6e 74 29 4e 65 77 48 61 | 6e 64 6c 65 28 73 69 7a |nt)NewHa|ndle(siz|
|00000b60| 65 6f 66 28 54 50 72 69 | 6e 74 29 29 3b 0d 09 69 |eof(TPri|nt));..i|
|00000b70| 66 28 67 50 72 69 6e 74 | 52 65 63 48 61 6e 64 6c |f(gPrint|RecHandl|
|00000b80| 65 20 21 3d 20 6e 69 6c | 29 0d 09 7b 0d 09 09 2f |e != nil|)..{.../|
|00000b90| 2a 20 46 69 6c 6c 20 69 | 74 20 77 69 74 68 20 64 |* Fill i|t with d|
|00000ba0| 65 66 61 75 6c 74 20 76 | 61 6c 75 65 73 20 2a 2f |efault v|alues */|
|00000bb0| 0d 09 09 50 72 4f 70 65 | 6e 28 29 3b 0d 09 09 69 |...PrOpe|n();...i|
|00000bc0| 66 28 50 72 45 72 72 6f | 72 28 29 20 3d 3d 20 6e |f(PrErro|r() == n|
|00000bd0| 6f 45 72 72 29 0d 09 09 | 7b 0d 09 09 09 50 72 69 |oErr)...|{....Pri|
|00000be0| 6e 74 44 65 66 61 75 6c | 74 28 67 50 72 69 6e 74 |ntDefaul|t(gPrint|
|00000bf0| 52 65 63 48 61 6e 64 6c | 65 29 3b 0d 09 09 09 50 |RecHandl|e);....P|
|00000c00| 72 43 6c 6f 73 65 28 29 | 3b 0d 09 09 7d 0d 09 7d |rClose()|;...}..}|
|00000c10| 0d 09 0d 09 2f 2a 20 53 | 65 74 20 75 70 20 46 69 |..../* S|et up Fi|
|00000c20| 6c 74 65 72 20 6d 65 6e | 75 20 2a 2f 0d 09 6d 68 |lter men|u */..mh|
|00000c30| 6e 64 6c 20 3d 20 47 65 | 74 4d 65 6e 75 28 6b 46 |ndl = Ge|tMenu(kF|
|00000c40| 69 6c 74 65 72 4d 65 6e | 75 49 44 29 3b 0d 09 69 |ilterMen|uID);..i|
|00000c50| 66 28 6d 68 6e 64 6c 20 | 3d 3d 20 6e 69 6c 29 0d |f(mhndl |== nil).|
|00000c60| 09 7b 0d 09 09 44 6f 45 | 72 72 6f 72 41 6c 65 72 |.{...DoE|rrorAler|
|00000c70| 74 28 6b 4e 6f 52 65 73 | 53 74 72 2c 20 30 29 3b |t(kNoRes|Str, 0);|
|00000c80| 0d 09 09 72 65 74 75 72 | 6e 20 66 61 6c 73 65 3b |...retur|n false;|
|00000c90| 0d 09 7d 0d 09 28 2a 6d | 68 6e 64 6c 29 2d 3e 6d |..}..(*m|hndl)->m|
|00000ca0| 65 6e 75 49 44 20 3d 20 | 6b 46 69 6c 74 65 72 4d |enuID = |kFilterM|
|00000cb0| 65 6e 75 49 44 3b 0d 09 | 42 75 69 6c 64 46 69 6c |enuID;..|BuildFil|
|00000cc0| 74 65 72 4d 65 6e 75 28 | 6d 68 6e 64 6c 29 3b 09 |terMenu(|mhndl);.|
|00000cd0| 09 2f 2a 20 41 64 64 73 | 20 61 6c 6c 20 61 76 61 |./* Adds| all ava|
|00000ce0| 69 6c 61 62 6c 65 20 46 | 69 6c 74 65 72 73 20 74 |ilable F|ilters t|
|00000cf0| 6f 20 74 68 65 20 6d 65 | 6e 75 20 2a 2f 0d 09 49 |o the me|nu */..I|
|00000d00| 6e 73 65 72 74 4d 65 6e | 75 28 6d 68 6e 64 6c 2c |nsertMen|u(mhndl,|
|00000d10| 20 30 29 3b 0d 09 44 69 | 73 61 62 6c 65 49 74 65 | 0);..Di|sableIte|
|00000d20| 6d 28 6d 68 6e 64 6c 2c | 20 30 29 3b 20 2f 2a 20 |m(mhndl,| 0); /* |
|00000d30| 44 69 73 61 62 6c 65 20 | 74 68 65 20 6d 65 6e 75 |Disable |the menu|
|00000d40| 20 75 6e 74 69 6c 20 75 | 73 65 72 20 6f 70 65 6e | until u|ser open|
|00000d50| 73 20 61 20 66 69 6c 65 | 20 2a 2f 0d 09 67 50 61 |s a file| */..gPa|
|00000d60| 69 6e 74 4d 65 6e 75 48 | 61 6e 64 6c 65 73 5b 6b |intMenuH|andles[k|
|00000d70| 46 69 6c 74 65 72 4d 65 | 6e 75 5d 20 3d 20 6d 68 |FilterMe|nu] = mh|
|00000d80| 6e 64 6c 3b 0d 0d 09 2f | 2a 20 53 65 74 20 75 70 |ndl;.../|* Set up|
|00000d90| 20 62 72 75 73 68 20 6d | 65 6e 75 20 2a 2f 0d 09 | brush m|enu */..|
|00000da0| 6d 68 6e 64 6c 20 3d 20 | 47 65 74 4d 65 6e 75 28 |mhndl = |GetMenu(|
|00000db0| 6b 42 72 75 73 68 4d 65 | 6e 75 49 44 29 3b 0d 09 |kBrushMe|nuID);..|
|00000dc0| 69 66 28 6d 68 6e 64 6c | 20 3d 3d 20 6e 69 6c 29 |if(mhndl| == nil)|
|00000dd0| 0d 09 7b 0d 09 09 44 6f | 45 72 72 6f 72 41 6c 65 |..{...Do|ErrorAle|
|00000de0| 72 74 28 6b 4e 6f 52 65 | 73 53 74 72 2c 20 30 29 |rt(kNoRe|sStr, 0)|
|00000df0| 3b 0d 09 09 72 65 74 75 | 72 6e 20 66 61 6c 73 65 |;...retu|rn false|
|00000e00| 3b 0d 09 7d 0d 09 28 2a | 6d 68 6e 64 6c 29 2d 3e |;..}..(*|mhndl)->|
|00000e10| 6d 65 6e 75 49 44 20 3d | 20 6b 42 72 75 73 68 4d |menuID =| kBrushM|
|00000e20| 65 6e 75 49 44 3b 0d 09 | 42 75 69 6c 64 42 72 75 |enuID;..|BuildBru|
|00000e30| 73 68 4d 65 6e 75 28 6d | 68 6e 64 6c 29 3b 09 09 |shMenu(m|hndl);..|
|00000e40| 2f 2a 20 41 64 64 73 20 | 61 6c 6c 20 61 76 61 69 |/* Adds |all avai|
|00000e50| 6c 61 62 6c 65 20 62 72 | 75 73 68 65 73 20 74 6f |lable br|ushes to|
|00000e60| 20 74 68 65 20 6d 65 6e | 75 20 2a 2f 0d 09 49 6e | the men|u */..In|
|00000e70| 73 65 72 74 4d 65 6e 75 | 28 6d 68 6e 64 6c 2c 20 |sertMenu|(mhndl, |
|00000e80| 30 29 3b 0d 09 44 69 73 | 61 62 6c 65 49 74 65 6d |0);..Dis|ableItem|
|00000e90| 28 6d 68 6e 64 6c 2c 20 | 30 29 3b 20 2f 2a 20 44 |(mhndl, |0); /* D|
|00000ea0| 69 73 61 62 6c 65 20 74 | 68 65 20 6d 65 6e 75 20 |isable t|he menu |
|00000eb0| 75 6e 74 69 6c 20 75 73 | 65 72 20 6f 70 65 6e 73 |until us|er opens|
|00000ec0| 20 61 20 66 69 6c 65 20 | 2a 2f 0d 09 67 50 61 69 | a file |*/..gPai|
|00000ed0| 6e 74 4d 65 6e 75 48 61 | 6e 64 6c 65 73 5b 6b 42 |ntMenuHa|ndles[kB|
|00000ee0| 72 75 73 68 4d 65 6e 75 | 5d 20 3d 20 6d 68 6e 64 |rushMenu|] = mhnd|
|00000ef0| 6c 3b 0d 09 0d 09 2f 2a | 20 4c 6f 61 64 20 74 68 |l;..../*| Load th|
|00000f00| 65 20 66 69 72 73 74 20 | 42 72 75 73 68 20 2a 2f |e first |Brush */|
|00000f10| 0d 09 72 73 6c 74 20 3d | 20 53 65 74 43 75 72 72 |..rslt =| SetCurr|
|00000f20| 65 6e 74 42 72 75 73 68 | 28 6b 46 69 72 73 74 42 |entBrush|(kFirstB|
|00000f30| 72 75 73 68 29 3b 0d 09 | 69 66 28 72 73 6c 74 20 |rush);..|if(rslt |
|00000f40| 21 3d 20 6e 6f 45 72 72 | 29 0d 09 7b 0d 09 09 44 |!= noErr|)..{...D|
|00000f50| 6f 45 72 72 6f 72 41 6c | 65 72 74 28 6b 47 65 6e |oErrorAl|ert(kGen|
|00000f60| 65 72 69 63 45 72 72 6f | 72 53 74 72 2c 20 30 29 |ericErro|rStr, 0)|
|00000f70| 3b 0d 09 09 72 65 74 75 | 72 6e 20 66 61 6c 73 65 |;...retu|rn false|
|00000f80| 3b 0d 09 7d 0d 09 0d 09 | 2f 2a 20 53 65 74 20 75 |;..}....|/* Set u|
|00000f90| 70 20 61 75 74 6f 2d 70 | 61 69 6e 74 20 6d 65 6e |p auto-p|aint men|
|00000fa0| 75 20 2a 2f 0d 09 6d 68 | 6e 64 6c 20 3d 20 47 65 |u */..mh|ndl = Ge|
|00000fb0| 74 4d 65 6e 75 28 6b 41 | 75 74 6f 50 61 69 6e 74 |tMenu(kA|utoPaint|
|00000fc0| 4d 65 6e 75 49 44 29 3b | 0d 09 69 66 28 6d 68 6e |MenuID);|..if(mhn|
|00000fd0| 64 6c 20 3d 3d 20 6e 69 | 6c 29 0d 09 7b 0d 09 09 |dl == ni|l)..{...|
|00000fe0| 44 6f 45 72 72 6f 72 41 | 6c 65 72 74 28 6b 4e 6f |DoErrorA|lert(kNo|
|00000ff0| 52 65 73 53 74 72 2c 20 | 30 29 3b 0d 09 09 72 65 |ResStr, |0);...re|
|00001000| 74 75 72 6e 20 66 61 6c | 73 65 3b 0d 09 7d 0d 09 |turn fal|se;..}..|
|00001010| 28 2a 6d 68 6e 64 6c 29 | 2d 3e 6d 65 6e 75 49 44 |(*mhndl)|->menuID|
|00001020| 20 3d 20 6b 41 75 74 6f | 50 61 69 6e 74 4d 65 6e | = kAuto|PaintMen|
|00001030| 75 49 44 3b 0d 09 49 6e | 73 65 72 74 4d 65 6e 75 |uID;..In|sertMenu|
|00001040| 28 6d 68 6e 64 6c 2c 20 | 30 29 3b 0d 09 44 69 73 |(mhndl, |0);..Dis|
|00001050| 61 62 6c 65 49 74 65 6d | 28 6d 68 6e 64 6c 2c 20 |ableItem|(mhndl, |
|00001060| 30 29 3b 20 2f 2a 20 44 | 69 73 61 62 6c 65 20 74 |0); /* D|isable t|
|00001070| 68 65 20 6d 65 6e 75 20 | 75 6e 74 69 6c 20 75 73 |he menu |until us|
|00001080| 65 72 20 6f 70 65 6e 73 | 20 61 20 66 69 6c 65 20 |er opens| a file |
|00001090| 2a 2f 0d 09 67 50 61 69 | 6e 74 4d 65 6e 75 48 61 |*/..gPai|ntMenuHa|
|000010a0| 6e 64 6c 65 73 5b 6b 41 | 75 74 6f 50 61 69 6e 74 |ndles[kA|utoPaint|
|000010b0| 4d 65 6e 75 5d 20 3d 20 | 6d 68 6e 64 6c 3b 0d 09 |Menu] = |mhndl;..|
|000010c0| 0d 09 2f 2a 20 55 70 64 | 61 74 65 20 74 68 65 20 |../* Upd|ate the |
|000010d0| 6d 65 6e 75 20 62 61 72 | 20 2a 2f 0d 09 44 72 61 |menu bar| */..Dra|
|000010e0| 77 4d 65 6e 75 42 61 72 | 28 29 3b 0d 09 0d 09 72 |wMenuBar|();....r|
|000010f0| 65 74 75 72 6e 28 74 72 | 75 65 29 3b 0d 7d 0d 0d |eturn(tr|ue);.}..|
|00001100| 2f 2a 20 41 64 64 73 20 | 32 20 73 63 72 6f 6c 6c |/* Adds |2 scroll|
|00001110| 20 62 61 72 73 20 74 6f | 20 74 68 65 20 67 69 76 | bars to| the giv|
|00001120| 65 6e 20 77 69 6e 64 6f | 77 2c 20 61 64 6a 75 73 |en windo|w, adjus|
|00001130| 74 69 6e 67 20 74 68 65 | 6d 20 74 6f 20 66 69 74 |ting the|m to fit|
|00001140| 20 2a 2f 0d 42 6f 6f 6c | 65 61 6e 20 41 64 64 53 | */.Bool|ean AddS|
|00001150| 74 64 53 63 72 6f 6c 6c | 42 61 72 73 28 57 69 6e |tdScroll|Bars(Win|
|00001160| 64 6f 77 50 74 72 20 77 | 69 6e 64 29 0d 7b 0d 09 |dowPtr w|ind).{..|
|00001170| 43 6f 6e 74 72 6f 6c 48 | 61 6e 64 6c 65 09 73 63 |ControlH|andle.sc|
|00001180| 72 6f 6c 6c 48 61 6e 64 | 6c 65 3b 0d 09 52 65 63 |rollHand|le;..Rec|
|00001190| 74 09 09 09 73 63 72 6f | 6c 6c 52 65 63 74 3b 0d |t...scro|llRect;.|
|000011a0| 09 73 68 6f 72 74 09 09 | 09 6d 69 6e 2c 20 6d 61 |.short..|.min, ma|
|000011b0| 78 3b 0d 09 42 6f 6f 6c | 65 61 6e 09 09 09 72 73 |x;..Bool|ean...rs|
|000011c0| 6c 74 20 3d 20 66 61 6c | 73 65 3b 0d 09 0d 09 2f |lt = fal|se;..../|
|000011d0| 2a 20 54 68 65 73 65 20 | 61 72 65 20 6a 75 73 74 |* These |are just|
|000011e0| 20 64 75 6d 6d 79 20 76 | 61 6c 75 65 73 20 66 6f | dummy v|alues fo|
|000011f0| 72 20 74 68 65 20 72 65 | 63 74 20 61 6e 64 20 74 |r the re|ct and t|
|00001200| 68 65 20 6d 69 6e 20 61 | 6e 64 20 6d 61 78 2e 20 |he min a|nd max. |
|00001210| 54 68 65 79 20 77 69 6c | 6c 20 62 65 20 0d 09 09 |They wil|l be ...|
|00001220| 61 64 6a 75 73 74 65 64 | 20 69 6e 20 74 68 65 20 |adjusted| in the |
|00001230| 41 64 6a 75 73 74 53 63 | 72 6f 6c 6c 42 61 72 73 |AdjustSc|rollBars|
|00001240| 20 72 6f 75 74 69 6e 65 | 20 2a 2f 0d 09 0d 09 2f | routine| */..../|
|00001250| 2a 20 46 69 72 73 74 20 | 74 68 65 20 68 6f 72 69 |* First |the hori|
|00001260| 7a 6f 6e 74 61 6c 20 6f | 6e 65 20 2a 2f 0d 09 53 |zontal o|ne */..S|
|00001270| 65 74 52 65 63 74 28 26 | 73 63 72 6f 6c 6c 52 65 |etRect(&|scrollRe|
|00001280| 63 74 2c 20 30 2c 20 30 | 2c 20 31 30 2c 20 31 30 |ct, 0, 0|, 10, 10|
|00001290| 29 3b 0d 09 6d 69 6e 20 | 3d 20 30 3b 0d 09 6d 61 |);..min |= 0;..ma|
|000012a0| 78 20 3d 20 31 30 3b 0d | 09 73 63 72 6f 6c 6c 48 |x = 10;.|.scrollH|
|000012b0| 61 6e 64 6c 65 20 3d 20 | 4e 65 77 43 6f 6e 74 72 |andle = |NewContr|
|000012c0| 6f 6c 28 77 69 6e 64 2c | 20 26 73 63 72 6f 6c 6c |ol(wind,| &scroll|
|000012d0| 52 65 63 74 2c 20 22 5c | 70 22 2c 20 66 61 6c 73 |Rect, "\|p", fals|
|000012e0| 65 2c 20 0d 09 09 09 09 | 6d 69 6e 2c 20 6d 69 6e |e, .....|min, min|
|000012f0| 2c 20 6d 61 78 2c 20 73 | 63 72 6f 6c 6c 42 61 72 |, max, s|crollBar|
|00001300| 50 72 6f 63 2c 20 30 29 | 3b 0d 09 09 09 09 0d 09 |Proc, 0)|;.......|
|00001310| 69 66 28 73 63 72 6f 6c | 6c 48 61 6e 64 6c 65 20 |if(scrol|lHandle |
|00001320| 21 3d 20 6e 69 6c 29 0d | 09 7b 0d 09 09 2f 2a 20 |!= nil).|.{.../* |
|00001330| 53 74 61 73 68 20 69 74 | 20 69 6e 20 74 68 65 20 |Stash it| in the |
|00001340| 64 6f 63 75 6d 65 6e 74 | 20 2a 2f 0d 09 09 28 28 |document| */...((|
|00001350| 44 6f 63 75 6d 65 6e 74 | 50 65 65 6b 29 77 69 6e |Document|Peek)win|
|00001360| 64 29 2d 3e 68 53 63 72 | 6f 6c 6c 20 3d 20 73 63 |d)->hScr|oll = sc|
|00001370| 72 6f 6c 6c 48 61 6e 64 | 6c 65 3b 0d 09 09 0d 09 |rollHand|le;.....|
|00001380| 09 2f 2a 20 4e 6f 77 20 | 74 68 65 20 76 65 72 74 |./* Now |the vert|
|00001390| 69 63 61 6c 20 2a 2f 0d | 09 09 73 63 72 6f 6c 6c |ical */.|..scroll|
|000013a0| 48 61 6e 64 6c 65 20 3d | 20 4e 65 77 43 6f 6e 74 |Handle =| NewCont|
|000013b0| 72 6f 6c 28 77 69 6e 64 | 2c 20 26 73 63 72 6f 6c |rol(wind|, &scrol|
|000013c0| 6c 52 65 63 74 2c 20 22 | 5c 70 22 2c 20 66 61 6c |lRect, "|\p", fal|
|000013d0| 73 65 2c 20 0d 09 09 09 | 09 09 6d 69 6e 2c 20 6d |se, ....|..min, m|
|000013e0| 69 6e 2c 20 6d 61 78 2c | 20 73 63 72 6f 6c 6c 42 |in, max,| scrollB|
|000013f0| 61 72 50 72 6f 63 2c 20 | 30 29 3b 0d 09 09 69 66 |arProc, |0);...if|
|00001400| 28 73 63 72 6f 6c 6c 48 | 61 6e 64 6c 65 20 21 3d |(scrollH|andle !=|
|00001410| 20 6e 69 6c 29 0d 09 09 | 7b 0d 09 09 09 2f 2a 20 | nil)...|{..../* |
|00001420| 53 74 61 73 68 20 69 74 | 20 69 6e 20 74 68 65 20 |Stash it| in the |
|00001430| 64 6f 63 75 6d 65 6e 74 | 20 2a 2f 0d 09 09 09 28 |document| */....(|
|00001440| 28 44 6f 63 75 6d 65 6e | 74 50 65 65 6b 29 77 69 |(Documen|tPeek)wi|
|00001450| 6e 64 29 2d 3e 76 53 63 | 72 6f 6c 6c 20 3d 20 73 |nd)->vSc|roll = s|
|00001460| 63 72 6f 6c 6c 48 61 6e | 64 6c 65 3b 0d 09 09 09 |crollHan|dle;....|
|00001470| 72 73 6c 74 20 3d 20 74 | 72 75 65 3b 0d 09 09 7d |rslt = t|rue;...}|
|00001480| 0d 09 09 65 6c 73 65 0d | 09 09 09 44 69 73 70 6f |...else.|...Dispo|
|00001490| 73 65 43 6f 6e 74 72 6f | 6c 28 28 28 44 6f 63 75 |seContro|l(((Docu|
|000014a0| 6d 65 6e 74 50 65 65 6b | 29 77 69 6e 64 29 2d 3e |mentPeek|)wind)->|
|000014b0| 68 53 63 72 6f 6c 6c 29 | 3b 0d 09 7d 0d 09 69 66 |hScroll)|;..}..if|
|000014c0| 28 72 73 6c 74 20 3d 3d | 20 74 72 75 65 29 0d 09 |(rslt ==| true)..|
|000014d0| 7b 0d 09 09 2f 2a 20 53 | 65 74 20 75 70 20 74 68 |{.../* S|et up th|
|000014e0| 65 20 73 63 72 6f 6c 6c | 20 62 61 72 73 20 66 6f |e scroll| bars fo|
|000014f0| 72 20 74 68 65 20 63 75 | 72 72 65 6e 74 20 77 6f |r the cu|rrent wo|
|00001500| 72 6c 64 20 2a 2f 0d 09 | 09 41 64 6a 75 73 74 53 |rld */..|.AdjustS|
|00001510| 63 72 6f 6c 6c 62 61 72 | 73 28 77 69 6e 64 2c 20 |crollbar|s(wind, |
|00001520| 74 72 75 65 29 3b 0d 09 | 7d 0d 09 72 65 74 75 72 |true);..|}..retur|
|00001530| 6e 20 72 73 6c 74 3b 0d | 7d 0d 0d 42 6f 6f 6c 65 |n rslt;.|}..Boole|
|00001540| 61 6e 20 43 68 65 63 6b | 4d 61 63 68 69 6e 65 28 |an Check|Machine(|
|00001550| 76 6f 69 64 29 0d 7b 0d | 09 73 68 6f 72 74 09 09 |void).{.|.short..|
|00001560| 65 72 72 2c 20 72 73 6c | 74 20 3d 20 74 72 75 65 |err, rsl|t = true|
|00001570| 3b 0d 09 6c 6f 6e 67 09 | 09 67 65 73 74 52 65 73 |;..long.|.gestRes|
|00001580| 75 6c 74 3b 0d 0d 2f 2a | 20 09 43 68 65 63 6b 20 |ult;../*| .Check |
|00001590| 74 68 65 20 6d 61 63 68 | 69 6e 65 27 73 20 63 61 |the mach|ine's ca|
|000015a0| 70 61 62 69 6c 69 74 69 | 65 73 20 74 6f 20 62 65 |pabiliti|es to be|
|000015b0| 20 73 75 72 65 20 77 65 | 20 63 61 6e 20 72 75 6e | sure we| can run|
|000015c0| 20 2a 2f 0d 09 0d 09 2f | 2a 20 43 68 65 63 6b 20 | */..../|* Check |
|000015d0| 66 6f 72 20 61 76 61 69 | 6c 61 62 69 6c 69 74 79 |for avai|lability|
|000015e0| 20 6f 66 20 47 65 73 74 | 61 6c 74 20 2a 2f 0d 09 | of Gest|alt */..|
|000015f0| 69 66 28 21 54 72 61 70 | 41 76 61 69 6c 61 62 6c |if(!Trap|Availabl|
|00001600| 65 28 5f 47 65 73 74 61 | 6c 74 44 69 73 70 61 74 |e(_Gesta|ltDispat|
|00001610| 63 68 29 29 0d 09 09 72 | 65 74 75 72 6e 20 66 61 |ch))...r|eturn fa|
|00001620| 6c 73 65 3b 0d 09 0d 09 | 2f 2a 20 43 68 65 63 6b |lse;....|/* Check|
|00001630| 20 66 6f 72 20 61 76 61 | 69 6c 61 62 69 6c 69 74 | for ava|ilabilit|
|00001640| 79 20 6f 66 20 47 57 6f | 72 6c 64 73 20 2a 2f 0d |y of GWo|rlds */.|
|00001650| 09 65 72 72 20 3d 20 47 | 65 73 74 61 6c 74 28 67 |.err = G|estalt(g|
|00001660| 65 73 74 61 6c 74 51 75 | 69 63 6b 64 72 61 77 56 |estaltQu|ickdrawV|
|00001670| 65 72 73 69 6f 6e 2c 20 | 26 67 65 73 74 52 65 73 |ersion, |&gestRes|
|00001680| 75 6c 74 29 3b 0d 09 69 | 66 28 65 72 72 20 21 3d |ult);..i|f(err !=|
|00001690| 20 6e 6f 45 72 72 29 0d | 09 09 72 65 74 75 72 6e | noErr).|..return|
|000016a0| 20 66 61 6c 73 65 3b 0d | 09 69 66 28 67 65 73 74 | false;.|.if(gest|
|000016b0| 52 65 73 75 6c 74 20 3c | 20 30 78 30 32 30 30 29 |Result <| 0x0200)|
|000016c0| 20 2f 2a 20 6e 6f 20 33 | 32 2d 62 69 74 20 51 44 | /* no 3|2-bit QD|
|000016d0| 20 2a 2f 0d 09 09 72 65 | 74 75 72 6e 20 66 61 6c | */...re|turn fal|
|000016e0| 73 65 3b 0d 09 0d 09 2f | 2a 20 43 68 65 63 6b 20 |se;..../|* Check |
|000016f0| 66 6f 72 20 61 76 61 69 | 6c 61 62 69 6c 69 74 79 |for avai|lability|
|00001700| 20 6f 66 20 46 53 53 70 | 65 63 20 66 69 6c 65 20 | of FSSp|ec file |
|00001710| 72 6f 75 74 69 6e 65 73 | 20 2a 2f 0d 09 65 72 72 |routines| */..err|
|00001720| 20 3d 20 47 65 73 74 61 | 6c 74 28 67 65 73 74 61 | = Gesta|lt(gesta|
|00001730| 6c 74 46 53 41 74 74 72 | 2c 20 26 67 65 73 74 52 |ltFSAttr|, &gestR|
|00001740| 65 73 75 6c 74 29 3b 0d | 09 69 66 28 65 72 72 20 |esult);.|.if(err |
|00001750| 21 3d 20 6e 6f 45 72 72 | 29 0d 09 09 72 65 74 75 |!= noErr|)...retu|
|00001760| 72 6e 20 66 61 6c 73 65 | 3b 0d 09 69 66 28 28 67 |rn false|;..if((g|
|00001770| 65 73 74 52 65 73 75 6c | 74 20 26 20 28 31 20 3c |estResul|t & (1 <|
|00001780| 3c 20 67 65 73 74 61 6c | 74 48 61 73 46 53 53 70 |< gestal|tHasFSSp|
|00001790| 65 63 43 61 6c 6c 73 29 | 29 20 3d 3d 20 30 29 0d |ecCalls)|) == 0).|
|000017a0| 09 09 72 65 74 75 72 6e | 20 66 61 6c 73 65 3b 0d |..return| false;.|
|000017b0| 09 0d 09 2f 2a 20 43 68 | 65 63 6b 20 66 6f 72 20 |.../* Ch|eck for |
|000017c0| 61 76 61 69 6c 61 62 69 | 6c 69 74 79 20 6f 66 20 |availabi|lity of |
|000017d0| 53 74 61 6e 64 61 72 64 | 20 47 65 74 2f 50 75 74 |Standard| Get/Put|
|000017e0| 20 72 6f 75 74 69 6e 65 | 73 20 2a 2f 0d 09 65 72 | routine|s */..er|
|000017f0| 72 20 3d 20 47 65 73 74 | 61 6c 74 28 67 65 73 74 |r = Gest|alt(gest|
|00001800| 61 6c 74 53 74 61 6e 64 | 61 72 64 46 69 6c 65 41 |altStand|ardFileA|
|00001810| 74 74 72 2c 20 26 67 65 | 73 74 52 65 73 75 6c 74 |ttr, &ge|stResult|
|00001820| 29 3b 0d 09 69 66 28 65 | 72 72 20 21 3d 20 6e 6f |);..if(e|rr != no|
|00001830| 45 72 72 29 0d 09 09 72 | 65 74 75 72 6e 20 66 61 |Err)...r|eturn fa|
|00001840| 6c 73 65 3b 0d 09 69 66 | 28 28 67 65 73 74 52 65 |lse;..if|((gestRe|
|00001850| 73 75 6c 74 20 26 20 28 | 31 20 3c 3c 20 67 65 73 |sult & (|1 << ges|
|00001860| 74 61 6c 74 53 74 61 6e | 64 61 72 64 46 69 6c 65 |taltStan|dardFile|
|00001870| 35 38 29 29 20 3d 3d 20 | 30 29 0d 09 09 72 65 74 |58)) == |0)...ret|
|00001880| 75 72 6e 20 66 61 6c 73 | 65 3b 0d 0d 09 2f 2a 20 |urn fals|e;.../* |
|00001890| 43 68 65 63 6b 20 66 6f | 72 20 61 76 61 69 6c 61 |Check fo|r availa|
|000018a0| 62 69 6c 69 74 79 20 6f | 66 20 46 69 6e 64 46 6f |bility o|f FindFo|
|000018b0| 6c 64 65 72 20 72 6f 75 | 74 69 6e 65 20 2a 2f 0d |lder rou|tine */.|
|000018c0| 09 65 72 72 20 3d 20 47 | 65 73 74 61 6c 74 28 67 |.err = G|estalt(g|
|000018d0| 65 73 74 61 6c 74 46 69 | 6e 64 46 6f 6c 64 65 72 |estaltFi|ndFolder|
|000018e0| 41 74 74 72 2c 20 26 67 | 65 73 74 52 65 73 75 6c |Attr, &g|estResul|
|000018f0| 74 29 3b 0d 09 69 66 28 | 65 72 72 20 21 3d 20 6e |t);..if(|err != n|
|00001900| 6f 45 72 72 29 0d 09 09 | 72 65 74 75 72 6e 20 66 |oErr)...|return f|
|00001910| 61 6c 73 65 3b 0d 09 69 | 66 28 28 67 65 73 74 52 |alse;..i|f((gestR|
|00001920| 65 73 75 6c 74 20 26 20 | 28 31 20 3c 3c 20 67 65 |esult & |(1 << ge|
|00001930| 73 74 61 6c 74 46 69 6e | 64 46 6f 6c 64 65 72 50 |staltFin|dFolderP|
|00001940| 72 65 73 65 6e 74 29 29 | 20 3d 3d 20 30 29 0d 09 |resent))| == 0)..|
|00001950| 09 72 65 74 75 72 6e 20 | 66 61 6c 73 65 3b 0d 0d |.return |false;..|
|00001960| 09 2f 2a 20 43 68 65 63 | 6b 20 66 6f 72 20 61 76 |./* Chec|k for av|
|00001970| 61 69 6c 61 62 69 6c 69 | 74 79 20 6f 66 20 54 65 |ailabili|ty of Te|
|00001980| 6d 70 4d 65 6d 20 72 6f | 75 74 69 6e 65 73 20 2a |mpMem ro|utines *|
|00001990| 2f 0d 09 65 72 72 20 3d | 20 47 65 73 74 61 6c 74 |/..err =| Gestalt|
|000019a0| 28 67 65 73 74 61 6c 74 | 4f 53 41 74 74 72 2c 20 |(gestalt|OSAttr, |
|000019b0| 26 67 65 73 74 52 65 73 | 75 6c 74 29 3b 0d 09 69 |&gestRes|ult);..i|
|000019c0| 66 28 65 72 72 20 21 3d | 20 6e 6f 45 72 72 29 0d |f(err !=| noErr).|
|000019d0| 09 09 72 65 74 75 72 6e | 20 66 61 6c 73 65 3b 0d |..return| false;.|
|000019e0| 09 69 66 28 28 67 65 73 | 74 52 65 73 75 6c 74 20 |.if((ges|tResult |
|000019f0| 26 20 28 31 20 3c 3c 20 | 67 65 73 74 61 6c 74 54 |& (1 << |gestaltT|
|00001a00| 65 6d 70 4d 65 6d 53 75 | 70 70 6f 72 74 29 29 20 |empMemSu|pport)) |
|00001a10| 3d 3d 20 30 29 0d 09 09 | 72 65 74 75 72 6e 20 66 |== 0)...|return f|
|00001a20| 61 6c 73 65 3b 0d 0d 09 | 72 65 74 75 72 6e 20 74 |alse;...|return t|
|00001a30| 72 75 65 3b 0d 7d 0d 0d | 2f 2a 20 54 68 69 73 20 |rue;.}..|/* This |
|00001a40| 72 6f 75 74 69 6e 65 20 | 63 61 6c 63 75 6c 61 74 |routine |calculat|
|00001a50| 65 73 20 61 20 64 6f 63 | 75 6d 65 6e 74 20 77 69 |es a doc|ument wi|
|00001a60| 6e 64 6f 77 27 73 20 74 | 69 74 6c 65 20 62 61 72 |ndow's t|itle bar|
|00001a70| 20 68 65 69 67 68 74 20 | 61 6e 64 20 66 72 61 6d | height |and fram|
|00001a80| 65 20 77 69 64 74 68 2c | 20 66 6f 72 0d 6c 61 74 |e width,| for.lat|
|00001a90| 65 72 20 75 73 65 20 69 | 6e 20 70 6f 73 69 74 69 |er use i|n positi|
|00001aa0| 6f 6e 69 6e 67 20 61 6e | 64 20 67 72 6f 77 69 6e |oning an|d growin|
|00001ab0| 67 20 77 69 6e 64 6f 77 | 73 2e 20 28 44 69 64 20 |g window|s. (Did |
|00001ac0| 79 6f 75 20 6b 6e 6f 77 | 20 74 68 61 74 20 47 72 |you know| that Gr|
|00001ad0| 6f 77 57 69 6e 64 6f 77 | 28 29 20 74 61 6b 65 73 |owWindow|() takes|
|00001ae0| 0d 61 73 20 6c 69 6d 69 | 74 73 20 74 68 65 20 73 |.as limi|ts the s|
|00001af0| 69 7a 65 20 6f 66 20 74 | 68 65 20 77 69 6e 64 6f |ize of t|he windo|
|00001b00| 77 27 73 20 73 74 72 75 | 63 52 67 6e 2c 20 62 75 |w's stru|cRgn, bu|
|00001b10| 74 20 72 65 74 75 72 6e | 73 20 74 68 65 20 73 69 |t return|s the si|
|00001b20| 7a 65 20 6f 66 20 69 74 | 73 20 70 6f 72 74 52 65 |ze of it|s portRe|
|00001b30| 63 74 3f 29 20 2a 2f 0d | 0d 76 6f 69 64 20 43 61 |ct?) */.|.void Ca|
|00001b40| 6c 63 57 69 6e 64 6f 77 | 53 74 61 74 73 28 76 6f |lcWindow|Stats(vo|
|00001b50| 69 64 29 0d 7b 0d 09 57 | 69 6e 64 6f 77 52 65 63 |id).{..W|indowRec|
|00001b60| 6f 72 64 09 74 65 6d 70 | 57 69 6e 64 3b 0d 09 52 |ord.temp|Wind;..R|
|00001b70| 65 63 74 09 09 09 67 6c | 6f 62 61 6c 50 6f 72 74 |ect...gl|obalPort|
|00001b80| 52 65 63 74 2c 20 73 74 | 72 75 63 52 65 63 74 2c |Rect, st|rucRect,|
|00001b90| 20 6f 66 66 53 63 72 65 | 65 6e 52 65 63 74 2c 20 | offScre|enRect, |
|00001ba0| 64 65 73 6b 52 65 63 74 | 3b 0d 09 0d 09 2f 2a 20 |deskRect|;..../* |
|00001bb0| 4d 61 6b 65 20 61 20 73 | 6d 61 6c 6c 20 72 65 63 |Make a s|mall rec|
|00001bc0| 74 61 6e 67 6c 65 20 74 | 68 61 74 20 69 73 20 6f |tangle t|hat is o|
|00001bd0| 66 66 20 74 68 65 20 73 | 63 72 65 65 6e 20 2a 2f |ff the s|creen */|
|00001be0| 0d 09 64 65 73 6b 52 65 | 63 74 20 3d 20 28 2a 2a |..deskRe|ct = (**|
|00001bf0| 47 65 74 47 72 61 79 52 | 67 6e 28 29 29 2e 72 67 |GetGrayR|gn()).rg|
|00001c00| 6e 42 42 6f 78 3b 0d 09 | 53 65 74 52 65 63 74 28 |nBBox;..|SetRect(|
|00001c10| 26 6f 66 66 53 63 72 65 | 65 6e 52 65 63 74 2c 20 |&offScre|enRect, |
|00001c20| 30 2c 20 30 2c 20 33 32 | 2c 20 33 32 29 3b 0d 09 |0, 0, 32|, 32);..|
|00001c30| 4f 66 66 73 65 74 52 65 | 63 74 28 26 6f 66 66 53 |OffsetRe|ct(&offS|
|00001c40| 63 72 65 65 6e 52 65 63 | 74 2c 20 64 65 73 6b 52 |creenRec|t, deskR|
|00001c50| 65 63 74 2e 6c 65 66 74 | 20 2d 20 36 34 2c 20 30 |ect.left| - 64, 0|
|00001c60| 29 3b 0d 09 0d 09 2f 2a | 20 4d 61 6b 65 20 61 20 |);..../*| Make a |
|00001c70| 76 69 73 69 62 6c 65 20 | 77 69 6e 64 6f 77 20 74 |visible |window t|
|00001c80| 68 61 74 20 74 68 65 20 | 75 73 65 72 20 63 61 6e |hat the |user can|
|00001c90| 27 74 20 73 65 65 2e 20 | 4f 6e 6c 79 20 77 68 65 |'t see. |Only whe|
|00001ca0| 6e 20 61 20 77 69 6e 64 | 6f 77 20 69 73 20 76 69 |n a wind|ow is vi|
|00001cb0| 73 69 62 6c 65 0d 09 63 | 61 6e 20 79 6f 75 20 66 |sible..c|an you f|
|00001cc0| 69 6e 64 20 6f 75 74 20 | 69 74 73 20 73 74 72 75 |ind out |its stru|
|00001cd0| 63 52 67 6e 20 64 69 6d | 65 6e 73 69 6f 6e 73 20 |cRgn dim|ensions |
|00001ce0| 2a 2f 0d 09 4e 65 77 57 | 69 6e 64 6f 77 28 26 74 |*/..NewW|indow(&t|
|00001cf0| 65 6d 70 57 69 6e 64 2c | 20 26 6f 66 66 53 63 72 |empWind,| &offScr|
|00001d00| 65 65 6e 52 65 63 74 2c | 20 22 5c 70 22 2c 20 74 |eenRect,| "\p", t|
|00001d10| 72 75 65 2c 20 64 6f 63 | 75 6d 65 6e 74 50 72 6f |rue, doc|umentPro|
|00001d20| 63 2c 20 28 50 74 72 29 | 2d 31 2c 20 66 61 6c 73 |c, (Ptr)|-1, fals|
|00001d30| 65 2c 20 30 29 3b 0d 09 | 0d 09 2f 2a 20 4f 4b 2c |e, 0);..|../* OK,|
|00001d40| 20 77 65 20 68 61 76 65 | 20 61 20 77 69 6e 64 6f | we have| a windo|
|00001d50| 77 2e 20 4e 6f 77 20 63 | 61 6c 63 75 6c 61 74 65 |w. Now c|alculate|
|00001d60| 20 74 68 65 20 69 6e 66 | 6f 20 77 65 20 6e 65 65 | the inf|o we nee|
|00001d70| 64 2e 20 46 69 72 73 74 | 20 77 65 20 6e 65 65 64 |d. First| we need|
|00001d80| 0d 09 74 6f 20 67 6c 6f | 62 61 6c 69 7a 65 20 74 |..to glo|balize t|
|00001d90| 68 65 20 70 6f 72 74 52 | 65 63 74 20 61 6e 64 20 |he portR|ect and |
|00001da0| 67 65 74 20 74 68 65 20 | 73 74 72 75 63 52 65 63 |get the |strucRec|
|00001db0| 74 20 6f 66 20 74 68 65 | 20 77 69 6e 64 6f 77 20 |t of the| window |
|00001dc0| 2a 2f 0d 09 67 6c 6f 62 | 61 6c 50 6f 72 74 52 65 |*/..glob|alPortRe|
|00001dd0| 63 74 20 3d 20 28 28 47 | 72 61 66 50 74 72 29 28 |ct = ((G|rafPtr)(|
|00001de0| 26 74 65 6d 70 57 69 6e | 64 29 29 2d 3e 70 6f 72 |&tempWin|d))->por|
|00001df0| 74 52 65 63 74 3b 0d 09 | 53 65 74 50 6f 72 74 28 |tRect;..|SetPort(|
|00001e00| 26 74 65 6d 70 57 69 6e | 64 29 3b 0d 09 4c 6f 63 |&tempWin|d);..Loc|
|00001e10| 61 6c 54 6f 47 6c 6f 62 | 61 6c 28 26 74 6f 70 4c |alToGlob|al(&topL|
|00001e20| 65 66 74 28 67 6c 6f 62 | 61 6c 50 6f 72 74 52 65 |eft(glob|alPortRe|
|00001e30| 63 74 29 29 3b 0d 09 4c | 6f 63 61 6c 54 6f 47 6c |ct));..L|ocalToGl|
|00001e40| 6f 62 61 6c 28 26 62 6f | 74 52 69 67 68 74 28 67 |obal(&bo|tRight(g|
|00001e50| 6c 6f 62 61 6c 50 6f 72 | 74 52 65 63 74 29 29 3b |lobalPor|tRect));|
|00001e60| 0d 09 73 74 72 75 63 52 | 65 63 74 20 3d 20 28 2a |..strucR|ect = (*|
|00001e70| 28 28 28 57 69 6e 64 6f | 77 50 65 65 6b 29 28 26 |(((Windo|wPeek)(&|
|00001e80| 74 65 6d 70 57 69 6e 64 | 29 29 2d 3e 73 74 72 75 |tempWind|))->stru|
|00001e90| 63 52 67 6e 29 29 2d 3e | 72 67 6e 42 42 6f 78 3b |cRgn))->|rgnBBox;|
|00001ea0| 0d 09 0d 09 2f 2a 20 43 | 61 6c 63 75 6c 61 74 65 |..../* C|alculate|
|00001eb0| 20 74 68 65 20 77 69 6e | 64 6f 77 27 73 20 74 69 | the win|dow's ti|
|00001ec0| 74 6c 65 20 62 61 72 20 | 68 65 69 67 68 74 2e 20 |tle bar |height. |
|00001ed0| 49 27 6d 20 6e 6f 74 20 | 65 6e 74 69 72 65 6c 79 |I'm not |entirely|
|00001ee0| 20 73 75 72 65 20 77 68 | 79 20 79 6f 75 20 6e 65 | sure wh|y you ne|
|00001ef0| 65 64 20 74 6f 0d 09 73 | 75 62 74 72 61 63 74 20 |ed to..s|ubtract |
|00001f00| 31 20 68 65 72 65 2c 20 | 62 75 74 20 43 72 61 69 |1 here, |but Crai|
|00001f10| 67 20 50 72 6f 75 73 65 | 20 64 69 64 20 69 74 20 |g Prouse| did it |
|00001f20| 69 6e 20 68 69 73 20 57 | 69 6e 64 6f 77 20 5a 6f |in his W|indow Zo|
|00001f30| 6f 6d 20 72 6f 75 74 69 | 6e 65 2c 20 61 6e 64 20 |om routi|ne, and |
|00001f40| 49 27 6d 20 73 75 72 65 | 0d 09 68 65 20 68 61 64 |I'm sure|..he had|
|00001f50| 20 61 20 67 6f 6f 64 20 | 72 65 61 73 6f 6e 20 66 | a good |reason f|
|00001f60| 6f 72 20 69 74 2c 20 73 | 6f 20 49 27 6c 6c 20 64 |or it, s|o I'll d|
|00001f70| 6f 20 69 74 20 74 6f 6f | 2e 20 2a 2f 0d 09 67 44 |o it too|. */..gD|
|00001f80| 6f 63 54 69 74 6c 65 48 | 65 69 67 68 74 20 3d 20 |ocTitleH|eight = |
|00001f90| 67 6c 6f 62 61 6c 50 6f | 72 74 52 65 63 74 2e 74 |globalPo|rtRect.t|
|00001fa0| 6f 70 20 2d 20 31 20 2d | 20 73 74 72 75 63 52 65 |op - 1 -| strucRe|
|00001fb0| 63 74 2e 74 6f 70 3b 0d | 09 0d 09 2f 2a 20 43 61 |ct.top;.|.../* Ca|
|00001fc0| 6c 63 75 6c 61 74 65 20 | 74 68 65 20 77 69 64 74 |lculate |the widt|
|00001fd0| 68 20 6f 66 20 74 68 65 | 20 77 69 6e 64 6f 77 73 |h of the| windows|
|00001fe0| 20 72 69 67 68 74 20 73 | 69 64 65 20 66 72 61 6d | right s|ide fram|
|00001ff0| 65 20 2a 2f 0d 09 67 44 | 6f 63 46 72 61 6d 65 57 |e */..gD|ocFrameW|
|00002000| 69 64 74 68 20 3d 20 73 | 74 72 75 63 52 65 63 74 |idth = s|trucRect|
|00002010| 2e 72 69 67 68 74 20 2d | 20 31 20 2d 20 67 6c 6f |.right -| 1 - glo|
|00002020| 62 61 6c 50 6f 72 74 52 | 65 63 74 2e 72 69 67 68 |balPortR|ect.righ|
|00002030| 74 3b 0d 09 0d 09 2f 2a | 20 41 6c 6c 20 44 6f 6e |t;..../*| All Don|
|00002040| 65 2c 20 6b 69 6c 6c 20 | 74 68 65 20 77 69 6e 64 |e, kill |the wind|
|00002050| 6f 77 20 2a 2f 0d 09 43 | 6c 6f 73 65 57 69 6e 64 |ow */..C|loseWind|
|00002060| 6f 77 28 26 74 65 6d 70 | 57 69 6e 64 29 3b 0d 7d |ow(&temp|Wind);.}|
|00002070| 0d 09 0d 09 0d 09 0d 09 | 0d 09 0d 09 0d 09 0d 09 |........|........|
|00002080| 0d 09 0d 09 0d 09 0d 09 | 0d 09 0d 09 0d 09 00 00 |........|........|
|00002090| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000020a0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000020b0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000020c0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000020d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000020e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000020f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002100| 00 00 01 00 00 00 01 74 | 00 00 00 74 00 00 00 32 |.......t|...t...2|
|00002110| 65 66 69 6e 65 20 6b 53 | 72 63 50 69 63 74 53 74 |efine kS|rcPictSt|
|00002120| 72 09 09 09 33 0d 09 23 | 64 65 66 69 6e 65 20 6b |r...3..#|define k|
|00002130| 0b 50 61 69 6e 74 49 6e | 69 74 2e 63 02 00 00 00 |.PaintIn|it.c....|
|00002140| 54 45 58 54 4b 41 48 4c | 01 00 00 97 01 33 00 00 |TEXTKAHL|.....3..|
|00002150| 00 00 54 45 58 54 4b 41 | 48 4c 01 00 00 97 01 33 |..TEXTKA|HL.....3|
|00002160| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002170| 00 00 a5 bf e3 0d 00 00 | 20 0e 00 00 01 a6 65 20 |........| .....e |
|00002180| 6b 53 74 6f 70 50 61 69 | 6e 74 69 6e 67 09 09 37 |kStopPai|nting..7|
|00002190| 0d 09 23 64 65 66 69 6e | 65 20 6b 44 6f 46 69 6c |..#defin|e kDoFil|
|000021a0| 74 65 72 09 09 09 38 0d | 0d 2f 2a 20 4d 65 6e 75 |ter...8.|./* Menu|
|000021b0| 73 20 61 6e 64 20 6d 65 | 6e 75 20 69 74 65 6d 73 |s and me|nu items|
|000021c0| 20 2a 2f 0d 23 64 65 66 | 69 6e 65 20 6b 46 69 6c | */.#def|ine kFil|
|000021d0| 74 65 72 4d 65 6e 75 49 | 44 09 09 09 31 33 31 0d |terMenuI|D...131.|
|000021e0| 0d 23 64 65 66 69 6e 65 | 20 6b 42 72 75 73 68 4d |.#define| kBrushM|
|000021f0| 65 6e 75 49 44 09 09 09 | 31 33 32 0d 09 23 64 65 |enuID...|132..#de|
|00002200| 00 00 00 70 00 04 00 00 | 02 c8 00 00 02 d1 0f 00 |...p....|........|
|00002210| 00 00 31 20 50 61 69 6e | 74 49 6e 69 74 00 00 00 |..1 Pain|tInit...|
|00002220| 10 cc 00 00 10 dc 15 00 | 00 00 32 20 41 64 64 53 |........|..2 AddS|
|00002230| 74 64 53 63 72 6f 6c 6c | 42 61 72 73 00 00 14 c3 |tdScroll|Bars....|
|00002240| 00 00 14 cf 11 00 00 00 | 33 20 43 68 65 63 6b 4d |........|3 CheckM|
|00002250| 61 63 68 69 6e 65 00 00 | 1a be 00 00 1a cd 15 00 |achine..|........|
|00002260| 00 00 34 20 43 61 6c 63 | 57 69 6e 64 6f 77 53 74 |..4 Calc|WindowSt|
|00002270| 61 74 73 00 00 00 01 00 | 00 00 01 74 00 00 00 74 |ats.....|...t...t|
|00002280| 00 00 00 32 00 63 58 20 | 08 74 00 00 00 1c 00 32 |...2.cX |.t.....2|
|00002290| 00 00 4d 50 53 52 00 00 | 00 0a 03 ef ff ff 00 00 |..MPSR..|........|
|000022a0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000022b0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000022c0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000022d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000022e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000022f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
+--------+-------------------------+-------------------------+--------+--------+